Skip to content

docs: correctness fixes from a full docs audit (ABAP + UI5)#2

Closed
marianfoo wants to merge 1 commit into
mainfrom
docs/correctness-audit-fixes
Closed

docs: correctness fixes from a full docs audit (ABAP + UI5)#2
marianfoo wants to merge 1 commit into
mainfrom
docs/correctness-audit-fixes

Conversation

@marianfoo

Copy link
Copy Markdown
Member

What & why

A full audit of every docs surface (ABAP + UI5) surfaced 18 confirmed correctness defects — each cross-checked against the current source in an adversarial verify pass (5 additional claims were investigated and rejected as false alarms, so they are not touched here). This PR fixes the docs-site copies; the same ABAP-page fixes already landed in the library + samples repos so the copies stay consistent.

ABAP pages

  • public-api-contract — public parser utility is convexit_of, not the private resolve_field; gc_comp isn't in ZIF_SSI_TYPES (it's in internal ZCL_SSI_UTIL); no generated adapter (flat/deep/upsert) runs coerce_field/on_before_persist today.
  • integration-guidegenerate_deep is active-create only → it does not set %is_draft (only flat/upsert do); is_draft is ignored on the deep path.
  • extension-hooks — the engine runs only coerce_field + on_before_persist; the other three hooks live in the facade; a direct get_importer→import gets only the two engine hooks.
  • usage-cookbookbuild_create_template returns an empty xstring for an unknown entity; it does not raise cx_static_check.
  • troubleshooting — dates must be text YYYYMMDD / YYYY-MM-DD (optional Txx); any other order (e.g. 31.12.2024) or trailing junk fails closed (msg 002, row dropped), never stored corrupt.

UI5 pages

  • spreadsheetdownloadsetDraftStatus and showOptions default to true (source + the page's own prose); the tables said false.
  • Wizard — the "openWizard with Options" sample now compiles (async) and calls this.spreadsheetUpload (was an undefined oComponent).
  • Configuration — repaired the corrupted nullMarker table row; the directUploadConfig example uses useCsrf (not csrf) and drops the non-existent uploadTimeout.
  • HowItWorks — the table-count error triggers at more than one table (code throws at >1), not two.
  • Checks — Nullable-Field check is Available since 2.4.0 (was the stale [Next Release]).
  • NullHandling — fixed a prose reference to a non-existent Phone column.
  • APIReference — "UI5 application" (was "UI Builder application").
  • Events — closed an unclosed backtick on the MessageType link.

Verification

mkdocs build --strict passes (no new broken links/anchors). fiori-elements.md was assessed and needed no change (its result already lists no Updated field).

Not in this PR (deliberately)

Bigger structural improvements the audit recommended — a single source of truth for the duplicated public-api-contract/integration guide, an architecture/mental-model page, a HowItWorks internals expansion, and a messages 001–011 catalog — are left for a follow-up.

🤖 Generated with Claude Code

Every fix was cross-checked against the current source in a verify pass; the
same ABAP-page fixes were applied to the library repo (source of truth) so the
two copies stay consistent.

ABAP pages:
- public-api-contract: ZCL_SSI_PARSER's public utility is convexit_of, not the
  private resolve_field; gc_comp is not in ZIF_SSI_TYPES (internal ZCL_SSI_UTIL);
  no generated adapter (flat/deep/upsert) runs coerce_field/on_before_persist.
- integration-guide: generate_deep is active-create only, so it does not set
  %is_draft (only flat/upsert do); is_draft is ignored on the deep path.
- extension-hooks: engine runs only coerce_field + on_before_persist; the other
  three hooks live in the facade; no generated adapter runs the two today.
- usage-cookbook: build_create_template returns an empty xstring for an unknown
  entity, it does not raise cx_static_check.
- troubleshooting: dates must be text YYYYMMDD / YYYY-MM-DD (optional Txx); any
  other order or trailing junk fails closed (msg 002, row dropped), never stored
  corrupt.

UI5 pages:
- spreadsheetdownload: setDraftStatus and showOptions default to true (source +
  the page's own prose), the tables said false.
- Wizard: the "openWizard with Options" sample now compiles (async) and calls
  this.spreadsheetUpload (was an undefined oComponent).
- Configuration: repaired the corrupted nullMarker table row; directUploadConfig
  example uses useCsrf (not csrf) and drops the non-existent uploadTimeout.
- HowItWorks: the table-count error triggers at more than ONE table (not two).
- Checks: Nullable-Field check is available since 2.4.0 (was "[Next Release]").
- NullHandling: fixed a prose reference to a non-existent Phone column.
- APIReference: "UI5 application" (was "UI Builder application").
- Events: closed an unclosed backtick on the MessageType link.

Verified: mkdocs build --strict passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@marianfoo

Copy link
Copy Markdown
Member Author

Superseded — folded these correctness fixes into #1 (docs/fiori-elements-verified) per request, so it's one PR. Deleting this branch.

@marianfoo marianfoo closed this Jul 10, 2026
@marianfoo marianfoo deleted the docs/correctness-audit-fixes branch July 10, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant